#ifndef NR_MANAGER_BASE_H
#define NR_MANAGER_BASE_H

/**
 * @file nr_manager_base.h
 * @brief nr_manager_base is the base if manager object
 */

#include "nr_object.h"

/**
 * Base of manager object
 */
class nr_manager_base : public nr_object
{
    Q_OBJECT
public:
    /**
     * Default constructor
     */
    nr_manager_base(QObject *parent = NULL);

    /**
     * Destructor
     */
    virtual ~nr_manager_base(void);

    /**
     * Load function does the initialize work
     * Usually read data from the disk/database to memory objects
     */
    virtual nr_error_t load() { return NR_ERROR_NOT_IMPLEMENTED; }
    
    /**
     * Unload function does the cleanup work
     */
    virtual nr_error_t unload() { return NR_ERROR_NOT_IMPLEMENTED; }
};

#endif